DB設計 マスターデータとトランザクションについて
そもそもの用語
トランザクションとは
商取引、売買、執行、取扱、議事録とかを意味します。
DBの世界では変更が頻繁に加えられるものとトランザクションデータといわれます。
トランザクション処理
複数回のデータベース操作を1つに束ねること。
複数回のデータベース操作を行う場合が世の中にはいっぱいあります。
例えば、銀行口座の振り込みとかは2つの口座のデータベースをいじっていることになります。
Aさんの口座から−1000円、Bさんの口座に+1000円という風に二回のデータベース操作が完了しない限り、データの整合性がとれなくなってきます。
データベースとACID
ACIDはトランザクション処理の信頼性を保証するために求められる性質
不可分性(Atomicity)
一貫性(Consistency)
独立性(Isolation)
永続性(Durability)
マスターデータ
基本的に日常的に変更する必要のないデータ。
究極いえば、マスターデータはトランザクションデータになりうる。
ユーザーが入力する項目はマスターデータにしない。
トランザクションデータ
日常的に変更する必要のあるデータ
※SQLではトランザクションはこのようになってリいる。
https://gyazo.com/a5e848be1ee9e462d84237ffdf5259a5
これは自分のRailsで作ったアプリでのトランザクション処理